package com.sihai.ehr.model.biz;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import com.sihai.core.BaseEntity;
import com.sihai.ehr.model.sys.AuditStatus;
import com.sihai.ehr.model.sys.Organization;

/**
 * 员工奖惩对象
 * 
 * @author henry
 * 
 */
@Entity
public class ExamAward extends BaseEntity<Long> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	private int awardType;

	// /** 组织架构ID */
	// @ManyToOne(fetch = FetchType.LAZY)
	// @JoinColumn(name = "organization_id")
	// private Organization organization;

	/** 员工任职编号 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "work_id")
	private EmployeeinfoWork employeeinfoWork;

	// 或者发用list
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "item_id")
	private ExamAwardItem examAwardItem;

	private Date awardDate;

	private String awardReason;

	/** 执行状态 */
	private int status; // 执行状态

	private AuditStatus auditStatus; // 奖惩审核

	private int cancel;

	@Override
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public int getAwardType() {
		return awardType;
	}

	public void setAwardType(int awardType) {
		this.awardType = awardType;
	}

	// public Organization getOrganization() {
	// return organization;
	// }
	//
	// public void setOrganization(Organization organization) {
	// this.organization = organization;
	// }

	public EmployeeinfoWork getEmployeeinfoWork() {
		return employeeinfoWork;
	}

	public void setEmployeeinfoWork(EmployeeinfoWork employeeinfoWork) {
		this.employeeinfoWork = employeeinfoWork;
	}

	public ExamAwardItem getExamAwardItem() {
		return examAwardItem;
	}

	public void setExamAwardItem(ExamAwardItem examAwardItem) {
		this.examAwardItem = examAwardItem;
	}

	public Date getAwardDate() {
		return awardDate;
	}

	public void setAwardDate(Date awardDate) {
		this.awardDate = awardDate;
	}

	public String getAwardReason() {
		return awardReason;
	}

	public void setAwardReason(String awardReason) {
		this.awardReason = awardReason;
	}
	
	public int getStatus() {
		return status;
	}
	
	public void setStatus(int status) {
		this.status = status;
	}

	public AuditStatus getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(AuditStatus auditStatus) {
		this.auditStatus = auditStatus;
	}

	public int getCancel() {
		return cancel;
	}

	public void setCancel(int cancel) {
		this.cancel = cancel;
	}

}
